1. Field of the Invention
This invention relates to a device for changing and controlling the rate of generating waveform data.
2. Description of the Related Art
In a conventional electronic musical instrument, in the case of, for example, musical tone waveform data, the waveform data of one wavelength or half wavelength is prestored in a waveform data memory, and when reading the waveform data therefrom, a musical tone having an indicated pitch is realized by changing the rate at which the waveform data is read. Further, when reading the waveform data, data (namely, frequency number data or phase angle step data) corresponding to the indicated pitch is sequentially accumulated at a constant period, and the result of the accumulation is supplied to the waveform data memory as reading address data. In this case, the rate of reading the waveform data can be changed by varying the phase angle step data in accordance with the indicated pitch.
FIGS. 13 to 15 show a conventional device for changing and controlling the rate of generating waveform data, wherein switches of a key switch matrix portion 92 which are in a key on or key off state (i.e., are turned on or off) are scanned and detected by a key assigner portion 91, a control operation for assigning channels to the detected switches is carried out, and key information I corresponding to the switches which are turned on (hereunder sometimes referred to as the key on switches) is supplied to a phase angle step data storing memory 93. The phase angle step data SD corresponding to pitches of the key codes are read out of the phase angle step data storing memory 93 and accumulated by an accumulator 94 upon receiving a clock signal Ac having a constant period to obtain accumulated data. Data represented by high-order bits of this accumulated data is supplied to a waveform data storing memory 95, and the musical tone waveform data WD is serially read from the waveform data storing memory 95 at a rate corresponding to the phase angle step data SD and is multiplied by envelope data ED by a multiplier 96. The results of the multiplication are supplied through a digital-to-analog (D/A) converter 97 to a sound radiating system 98 from which the musical tone is radiated. Furthermore, key information II indicating the time of a key on and key off is supplied from the key assigner portion 91 to an envelope generator 99, whereupon a part corresponding to an attack time of envelope data ED (hereunder sometimes referred to as attack data), a part corresponding to a decay time thereof (hereunder sometimes referred to as decay data), a part corresponding to a sustain time thereof (hereunder sometimes referred to as sustain data) and a part of a release time thereof (hereunder sometimes referred to as release data) are generated. Thereafter, the attack, decay, sustain, and release data are supplied to the multiplier 96.
FIGS. 14 and 15 show modifications of a part of the conventional device of FIG. 13. In these modifications, the phase angle step data SD of one octave is prestored in the phase angle step data storing memory 93, and further, the phase angle step data SD is read therefrom by using note data of the key code as reading addresses. The thus read phase angle step data SD is then shifted by a shift circuit 90 in accordance with octave data of the key code, to generate phase angle step data SDa of other octaves. Further, in the circuit of FIG. 14, the phase angle step data SD is accumulated by the accumulator 94 after being shifted in accordance with the octave data. In contrast, in the circuit of FIG. 15, after the phase angle step data SD is accumulated by the accumulator 94, the accumulated phase angle step data SDA is shifted in accordance with the octave data.
Where, however, phase angle step data corresponding to steps, wherein each pair of contiguous steps has an interval smaller than the preset interval, becomes necessary, the quantity of the phase angle step data SD to be stored in the phase angle step data storing memory 93 becomes huge. For example, where the phase angle step data is provided for every cent of 8 octaves, the number of necessary phase angle step data is 9600 (=100.times.12.times.8) because one octave has 12 semitones, and further, a semitone corresponds to 100 cents. Even when the circuit of FIGS. 14 or 15 is employed, the number of necessary phase angle step data is 1200 (=100.times.12), and thus the quantity of the phase angle step data is still vast.